Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

281
Visualizações
¿Cuál es el equivalente adecuado de "while (true)" en C simple?

Dado que C no tiene bool , ¿cuál es la variable adecuada para colocar en lugar de true en un algoritmo que usa

 do { // ... } while(true);

???

¿Debería un programador de C apropiado hacer

 do { // ... } while(1);

¿O hay una variable específica reservada para significar " algo que no es cero/NULO "?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Por lo general, hoy en día veo

 while(1) { ... }

Solía ser común ver

 for(;;) { ... }

Todo consigue el punto a través.

over 4 years ago · Santiago Trujillo Relatório

0

Su pregunta no es realmente sobre bool (que tiene C moderno si #include <stdbool.h> ), se trata de la mejor manera de escribir un ciclo infinito.

Los modismos comunes son:

 while (1) { /* ... */ }

y

 for (;;) { /* ... */ }

Este último parece un poco oscuro, pero está bien definido. Se puede omitir cualquiera de las tres expresiones en un encabezado for ; si se omite la segunda expresión, que controla cuándo continúa ejecutándose el bucle, el valor predeterminado es verdadero.

while (1) es probablemente el método más sencillo, pero algunos compiladores pueden advertir sobre una condición que siempre es cierta. for (;;) probablemente evita eso, ya que no hay una expresión (explícita) sobre la que advertir.

Personalmente, no usaría un ciclo do / while , porque la condición está en la parte inferior.

Hay formas más complicadas de escribir un ciclo infinito ( while (1 + 1 == 2) et al, pero ninguna de ellas realmente vale la pena.

Tanto while (1) como for (;;) serán perfectamente claros para cualquier persona con una buena comprensión de C.

over 4 years ago · Santiago Trujillo Relatório

0

Si estás usando c89:

Cree una definición booleana:

 typedef int bool; #define true 1 #define false 0

O constantes:

 /* Boolean constants. */ #define TRUE 1 #define FALSE 0

Esto le da al int un significado para usted.

O (como se menciona en otra parte aquí) si usa c99:

 #include <stdbool.h>

Mi experiencia con las universidades últimamente es que requieren que uses c89.

http://en.wikipedia.org/wiki/C_data_types#stdbool.h

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda